package com.xgk.boot.module.core.dal.iservice;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xgk.boot.framework.common.pojo.PageResult;
import com.xgk.boot.module.core.controller.admin.product.vo.product.ProductInfoVO;
import com.xgk.boot.module.core.controller.admin.product.vo.product.ProductPageReqVO;
import com.xgk.boot.module.core.controller.admin.product.vo.product.ProductPageRespVO;
import com.xgk.boot.module.core.controller.admin.product.vo.product.ProductSaveReqVO;
import com.xgk.boot.module.core.dal.entity.product.ProductDO;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 货币表 服务类
 * </p>
 *
 * @author yfbao
 * @since 2025-06-14
 */
public interface ProductService extends IService<ProductDO> {

    Long createProduct(ProductSaveReqVO createReqVO);

    void updateProduct(ProductSaveReqVO updateReqVO);

    boolean deleteProduct(Long id);

    PageResult<ProductPageRespVO> getProductPage(ProductPageReqVO pageReqVO);

    void activeProduct(Long pId, Integer pStatus);

    ProductInfoVO getProductInfoCacheById(Long id);

    List<ProductDO> listProduct(ProductPageReqVO pageReqVO);

    List<Map> getProductByUserName(String username);
}
